package com.srd.phone.bean;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


public class TenderInfo implements Serializable {
    /**
     * stat
     * 1.审核未通过
     * 2.审核通过
     * 3.待招标
     * 4.招标中
     * 5.待还款
     * 6.还款中
     * 7.已还款
     * 8.已流标
     * 9.撤标成功
     * 10.撤标失败
     * 11.已流转（待定）
     * 12.已满标
     */

    public int viewType;

    //未满标用到的字段
    public String nm;   // 标名

    public double anyield;  // 年化收益

    public double moneys;  // 标的总金额，也是投资金额，也是借款金额
    public double total; //已经投的金额

    public String term; //标的期限
    public String timetpm; //月，日，年

    public int numbers; //还款方式对应的值
    public String nnm; //一次性还款

    public double subSch; //标的进度

    //满标需要用到的字段：
    public String stime;    // 投标开始时间
    public String emtime; //最后一次投标的时间，也是满标的时间，
    public int count; // 投资人数

    public int id;
    public String directional; //定向标密码
    public String uid;   // 用户ID
    public String stopt;       // 投标结束时间
    public String paymentd;     // 付息日
    public double floorm;  //  投标下限金额
    public String ctime;   // 标创建时间
    public String img;   // image
    public int tid;    //  标类型
    public int recommend;    // 是否推荐
    public int automatic;     // 是否自动放款
    public String demurrag;  // 逾期费
    public int credit; //信用等级
    public double upperm;    //  投标金额上限
    public double advance;    // 提前还款违约金
    public String details;     // 标详情
    public String fee;   // 资料审核费
    public String mortgage;   // 是否抵押
    public String supfee;  // 借款管理费
    public String collection;    // 崔收费
    public int tcount;       // 投标次数
    public int timetp; //借款期限类型
    public int stat;  // 标状态  说明见 上边  stat
    public int bid; // 标的id
    public String examine;   //

    public static List<TenderInfo> parseTenderListData(String json) {
        List<TenderInfo> list = new ArrayList<>();
        try {
            JSONArray jsonArray = new JSONArray(json);
            for (int i = 0; i < jsonArray.length(); i++) {
                list.add(parseTenderInfoData(jsonArray.getString(i)));
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return list;
    }

    public static TenderInfo parseTenderInfoData(String json) {
        TenderInfo item = new TenderInfo();
        try {
            JSONObject jsonObject = new JSONObject(json);
            item.id = jsonObject.optInt("id");
            item.count = jsonObject.optInt("count");
            item.directional = jsonObject.optString("directional");
            item.uid = jsonObject.optString("uid");
            item.nm = jsonObject.optString("nm");
            item.stopt = jsonObject.optString("stopt");
            item.paymentd = jsonObject.optString("paymentd");
            item.floorm = jsonObject.optDouble("floorm", 0);
            item.numbers = jsonObject.optInt("numbers");
            item.ctime = jsonObject.optString("ctime");
            item.img = jsonObject.optString("img");
            item.tid = jsonObject.optInt("tid");
            item.recommend = jsonObject.optInt("recommend");
            item.automatic = jsonObject.optInt("automatic");
            item.anyield = jsonObject.optDouble("anyield", 0);
            item.demurrag = jsonObject.optString("demurrag");
            item.credit = jsonObject.optInt("credit");
            item.upperm = jsonObject.optDouble("upperm", 0);
            item.stime = jsonObject.optString("stime");
            item.advance = jsonObject.optDouble("advance", 0);
            item.details = jsonObject.optString("details");
            item.fee = jsonObject.optString("fee");
            item.mortgage = jsonObject.optString("mortgage");
            item.supfee = jsonObject.optString("supfee");
            item.subSch = jsonObject.optDouble("subSch", 0);
            item.collection = jsonObject.optString("collection");
            item.tcount = jsonObject.optInt("tcount");
            item.timetp = jsonObject.optInt("timetp");
            item.moneys = jsonObject.optDouble("moneys", 0);
            item.total = jsonObject.optDouble("total", 0);
            item.timetpm = jsonObject.optString("timetpm");
            item.nnm = jsonObject.optString("nnm");
            item.term = jsonObject.optString("term");
            item.examine = jsonObject.optString("examine");
            item.stat = jsonObject.optInt("stat");
            if (item.stat == 12) { //表示满标
                item.viewType = 1;
            } else {
                item.viewType = 0;
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
        return item;
    }
}
